package question

import (
	"sort"
	"strings"
)

//1233. 删除子文件夹
func removeSubfolders(folder []string) []string {
	//先排序
	sort.Strings(folder)
	//结果
	res := make([]string, 0)
	//添加第一个父目录
	res = append(res, folder[0])
	//遍历其他目录
	for _, v := range folder[1:] {
		//取res最后一个目录
		last := res[len(res)-1]
		//遍历的字段不能拥有last的前缀，或者字段按last切割后第一个不能是 /,这个对应的是 /a/b/c /a/b/ca 的情况
		if !strings.HasPrefix(v, last) || v[len(last)] != '/' {
			res = append(res, v)
		}
	}
	return res
}
